package com.webserver.core;

import com.webserver.controllers.UserController;
import com.webserver.http.HttpContext;
import com.webserver.http.HttpRequest;
import com.webserver.http.HttpResponse;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

/**
 *  用于处理请求
 */
public class DispatcherServlet {
    public void service(HttpRequest request, HttpResponse response){
        /*
            V16版本的第一个改动，不知在使用uri作为请求路径了，因为
            若提交数据，uri中会包含？及参数。
         */
        String path  = request.getRequestURI();
        //首先判断请求路径是否为请求业务
        if("/myweb/regUser".equals(path)){//是否为用户注册
            UserController controller=new UserController();
            controller.reg(request,response);
        }else if("/myweb/loginUser".equals(path)){
            UserController controller = new UserController();
            controller.login(request,response);
        } else{

           File file = new File("./webapps"+path);
          if(file.exists()&&file.isFile()){
            //资源存在
            response.setEntity(file);
          }else{
            //资源不存在
            response.setStatusCode(404);
            response.setStatusReason("NotFound");
            file = new File("./webapps/root/404.html");
            response.setEntity(file);
          }
        }
        response.addHeader("Server","WebServer");
    }
}
